
(define-library (prometheus extra)
  (import (scheme base)
          (scheme write)
          (prometheus user))
  (export display-object write-object print object=?)
  (begin
    (define (display-object x)
      (if (object? x)
          (display (x 'display))
          (display x)))

    (define (write-object x)
      (if (object? x)
          (display (x 'write))
          (write x)))

    (define (print . l)
      (for-each display-object l)
      (newline))

    (define (object=? a b)
      (a 'equals? b))))

